home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 September / PCWorld_2004-09_cd.bin / software / topware / winamp / winamp504_full.exe / $R0 / Winamp Modern / standardframe.m < prev    next >
Text File  |  2004-07-01  |  2KB  |  69 lines

  1. #include <lib/std.mi>
  2.  
  3. Global Group frameGroup, content, titlebar;
  4. Global String x, y, w, h, rx, ry, rw, rh;
  5. Global Layer mouselayer;
  6. Global Button Sysmenu;
  7.  
  8. Function setNewGroup(String groupid);
  9.  
  10. System.onScriptLoaded() {
  11.   frameGroup = getScriptGroup();
  12.   String param = getParam();
  13.   x = getToken(param, ",", 0);
  14.   y = getToken(param, ",", 1);
  15.   w = getToken(param, ",", 2);
  16.   h = getToken(param, ",", 3);
  17.   rx = getToken(param, ",", 4);
  18.   ry = getToken(param, ",", 5);
  19.   rw = getToken(param, ",", 6);
  20.   rh = getToken(param, ",", 7);
  21.   sysmenu = frameGroup.findObject("sysmenu");
  22. }
  23.  
  24. System.onSetXuiParam(String param, String value) {
  25.   if (param == "content") {
  26.     setNewGroup(value);
  27.     titlebar = frameGroup.findObject("wasabi.titlebar");
  28.     mouselayer = titlebar.findObject("mousetrap");
  29.   }
  30.   if (param == "padtitleright" || param == "padtitleleft") {
  31.     if (titlebar != NULL) titlebar.setXmlParam(param, value); 
  32.   }
  33.   if (param == "shade") {
  34.     if (mouselayer != NULL) mouselayer.setXmlParam("dblclickaction", "switch;"+value);
  35.     else messagebox("Cannot set shade parameter for StandardFrame object, no mousetrap found", "Skin Error", 0, "");
  36.   }
  37. }
  38.  
  39. // backward compatibility for prerelease notify trick
  40. frameGroup.onNotify(String cmd, String param, int a, int b) {
  41.   String _command = getToken(cmd, ",", 0);
  42.   String _param = getToken(cmd, ",", 1);
  43.   if (_command == "content" || _command == "padtitleright" || _command == "padtitleleft" || _command == "shade") {
  44.     onSetXuiParam(_command, _param);
  45.   }
  46. }
  47.  
  48. setNewGroup(String groupid) {
  49.   content = newGroup(groupid);
  50.   if (content == NULL) {
  51.     messagebox("group \"" + groupid + "\" not found", "ButtonGroup", 0, "");
  52.     return;
  53.   }
  54.   content.setXmlParam("x", x);
  55.   content.setXmlParam("y", y);
  56.   content.setXmlParam("w", w);
  57.   content.setXmlParam("h", h);
  58.   content.setXmlParam("relatx", rx);
  59.   content.setXmlParam("relaty", ry);
  60.   content.setXmlParam("relatw", rw);
  61.   content.setXmlParam("relath", rh);
  62.   content.init(frameGroup);
  63. }
  64.  
  65. Sysmenu.onLeftClick() {
  66.   LayoutStatus _status = frameGroup.findObject("sysmenu.status");
  67.   _status.callme("{system}");
  68. }
  69.